#ifndef ARRAY_INPUTDEVICE_H_INCLUDED
#define ARRAY_INPUTDEVICE_H_INCLUDED

#include "IInputDevice.h"
#include <vector>

namespace Common {

class ArrayInputDevice : public IInputDevice
{
	std::vector<char> m_arr;

public :
	ArrayInputDevice() { }

	ArrayInputDevice( const std::vector<char>& arr ) : m_arr( arr ) { }

	~ArrayInputDevice() { }
	
	boost::int64_t expectedSize() const { return m_arr.size(); };
	std::size_t readBlock(char * buf, boost::int64_t from, boost::int64_t to) throw (InputDeviceException);
};

}

#endif